#!/usr/bin/perl
##########################################################################################################################
##### a script to add emoticons to Wigan-Warriors.com
##########################################################################################################################

##########################################################################################################################
######  TODO list  #######################################################################################################
##########################################################################################################################
##########################################################################################################################

##########################################################################################################################
###### Bug list
##########################################################################################################################
##########################################################################################################################

##########################################################################################################################
# Includes
##########################################################################################################################

use lib qw(../cgi-bin);
use Sys::Hostname;
use Time::Local qw(timelocal);
use CGI;

use Diva::DB;
use Diva::DataObject;
use WiganRL::DataObject qw(:constants);
use WiganRL::DataObject::View;
use WiganRL::Search;

use Getopt::Long;
use File::Glob;
use File::Basename;

use strict;
#use warnings;

$|++;  #unbuffered

##########################################################################################################################
# get arguments
##########################################################################################################################

WiganRL::DataObject->init_class();
WiganRL::Search->init_class();

##########################################################################################################################
# site setup and location variable declarations
##########################################################################################################################
my $host= hostname;
my ($SITE_BASE_URL,$SITE_BASE_DIR,$CGI_BASE_URL,$CGI_BASE_DIR,$EMAIL_BASE_DIR,$MAIL_SMTP_SERVER);
my ($SEND_EMAILS,$ADMIN_NAME,$ADMIN_EMAIL,$MAIL_SCRIPT,$SITE_DATA_DIR);

	$SITE_BASE_URL= 'http://localhost/wigan';
	$SITE_BASE_DIR= 'c:/wwcom/html';
	$SITE_DATA_DIR= 'c:/wwcom/data';
	$CGI_BASE_URL= 'http://localhost/cgi-bin/wigan';
	$CGI_BASE_DIR= 'c:/wwcom/cgi-bin';

my $cgi= CGI->new();
$cgi->param('CGI_BASE_URL',$CGI_BASE_URL);
$cgi->param('SessionID','');

my $dbh= Diva::DB->new();
$dbh->set( {
	DATABASE_NAME       => 'wwcom',
	DATABASE_SERVER     => 'localhost:3306',
	DATABASE_USERNAME   => 'wwcom',
	DATABASE_PASSWORD   => 'wwcom',
	DATABASE_TYPE       => 'mysql',
	} );
$dbh->connect();
$dbh->debug(0);

WiganRL::DataObject->dbh($dbh);
WiganRL::DataObject->cgi($cgi);
WiganRL::Search->dbh($dbh);
#WiganRL::DataObject::User->dbh($dbh);
Diva::DataObject->init_contenttypes();  #loads contenttypes

$Diva::DB::_SQL_DEBUG= 0;

#get view threads
my ($sth,$rv)= $dbh->get(['USER'],['FK_OBJECT_ID'],'',
	"",
	"","",'','');

while (my $reshash= $sth->fetchrow_hashref) {
	WiganRL::DataObject->init_class();
	WiganRL::Search->init_class();
	my ($sth,$rv)= $dbh->get(['OBJECT','VIEW'],['*'],'',
		"VIEW.FK_OBJECT_ID=OBJECT.PK_OBJECT_ID and OBJECT.FK_USER_ID = $reshash->{FK_OBJECT_ID}",
		"","",'','');
	my $nposts= $rv;

	$rv= $dbh->update('USER',['USER_NPOSTS'],
		[$nposts],"FK_OBJECT_ID = $reshash->{FK_OBJECT_ID}"); 

	print "Updated User: $reshash->{FK_OBJECT_ID}\n";
	WiganRL::DataObject->garbage_collect;
	WiganRL::DataObject->search->garbage_collect;
}

$sth->finish;
exit(0);
